package test.partialCompileImplicitMember;

import dk.au.cs.peterbn.annotations.Member;
import dk.au.cs.peterbn.annotations.Pattern;

/**
 * Strategy calculating the price of the fuel
 */
@Pattern(id="test.partialCompileImplicitMember",name = "gof:Strategy", role = "Strategy")
public interface RateStrategy {

    /**
     * Calculate the fuel price, based on the amount
     * @param amount the amount of fuel
     * @return the price of the fuel
     */
    @Member(id="test.partialCompileImplicitMember", role = "AlgorithmInterface")
    public int calculatePrice(int amount);
}
